﻿using System;
using System.Threading.Tasks;

using Adaptive.Agrona.Concurrent;

using Unity.Commons.Client.Generator;
using Unity.Connections;

namespace Unity.Commons.Client.Threading
{
    public interface IUnityResourceThread : IAgent
    {
        Task<bool> RunAsync(Func<bool> command);
        IUnityProducer GetProducer();
        UnityGenerator GetNewGenerator();
        void Close();
    }
}
